import Book.BookList;
import User.AdminUser;
import User.NormalUser;
import User.user;

import java.util.Scanner;

import static User.user.*;

public class Main {
/*
    login方法：输入姓名用于后面实例化的姓名
               输入1或0 来判断用户为普通用户还是管理员
              根据对应的输入创建实例化对象

    参数：无
    返回：返回一个实例化对象

    */

    //由于该方法返回的管理员和普通用户都是子类对象，可以用父类user来一同接收
    //故返回类型为user
    public static user login(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入用户名：");
        String name = scanner.nextLine();

        System.out.println("请输入你的权限身份：1->管理员  2->普通用户");
        int choice = scanner.nextInt();
        //判断操作对象并返回对应实例化对象
        if (choice == 1) {
            //返回实例化对象管理员
            return new AdminUser(name);
        }
        else {
            //返回实例化对象普通用户
            return new NormalUser(name);
    }
    }
    public static void main(String[] args) {

        //实例化书架上的书，初始化为3本书
        BookList bookList = new BookList();
        //根据login的返回值确定操作对象为用户或者管理员
        user users = login();
        //进入菜单死循环，直到输入用户0退出系统
        while (true){
            //choice用于接受menu菜单的返回值即用户想要实现的操作
            int choice = users.menu();
            //根据接受的值来对书架上的书进行操作
            users.toOperation(choice,bookList);
        }

    }
}
